package com.yxw.yxnet_cd_center.customer_service.service;

import com.yxw.yxnet_cd_center.customer_service.dto.DictQueryDTO;
import com.yxw.yxnet_cd_center.customer_service.dto.RuleQueryDTO;
import com.yxw.yxnet_cd_center.customer_service.vo.ChannelVo;
import com.yxw.yxnet_cd_center.customer_service.vo.DictionaryVo;
import com.yxw.yxnet_cd_center.customer_service.vo.PortVo;
import com.yxw.yxnet_cd_center.customer_service.vo.YxCsPortRuleVO;

import java.util.List;

/**
 * 字典表管理
 * @author liuxin
 * @date 2023.09.17
 */
public interface DictService {

    /**
     * 根据类型获取字典值列表
     * @param dto
     * @return
     */
    List<DictionaryVo> getDictDataByType(DictQueryDTO dto);

    /**
     * 根据ID查询字典值
     * @param id
     * @return
     */
    DictionaryVo getDictDataById(Long id);

    /**
     * 查询渠道列表
     * @return
     */
    List<ChannelVo> getChannelList();

    /**
     * 根据渠道查询端口列表
     * @param channelId
     * @return
     */
    List<PortVo> getPortList(Long channelId);

    /**
     * 字段表状态修改
     * @param id
     */
    void updateDictStatus(Long id);

    /**
     * 根据查询规则列表明细列表
     * @param dto
     * @return
     */
    List<YxCsPortRuleVO> getRuleList(RuleQueryDTO dto);
}

